﻿
namespace OestsCommon.TcpNet
{

	/// <summary>
	/// 通信内容包头键
	/// </summary>
	public enum PacketKey
	{
		#region LIXIGNJUN
		/// <summary>
		/// 为空
		/// </summary>
		None,
	
		Exam,
		Train,

		Login,

		/// <summary>
		/// 系统退出
		/// </summary>
		Exit,

		/// <summary>
		/// 请求任务表数据 服务器接收后返回jsonTask
		/// </summary>
		TaskTable,
		/// <summary>
		/// 请求岗位表数据
		/// </summary>
		PostTable,
		/// <summary>
		/// 请求区域表数据  对应场景
		/// </summary>
		AreaTable,
		/// <summary>
		/// 请求岗位任务关系表
		/// </summary>
		PostTaskTable,
		/// <summary>
		/// 请求专业表
		/// </summary>
		MajorTable,
		/// <summary>
		/// 请求项目表
		/// </summary>
		ProjectTable,

		/// <summary>
		/// 请求教师表数据
		/// </summary>
		TeacherTable,

		/// <summary>
		/// 请求某个教师管理的所有学生，
		/// 请求：int 教师id
		/// 反馈 List Student 学生集合
		/// </summary>
		RequestStudentsInGroup,

		/// <summary>
		/// 请求实训组内容 服务器自动根据教师
		/// id 获取对应的内容 
		/// 返回一个List集合
		/// </summary>
		TrainGroupTable,


		#endregion

		#region LYM
		/// <summary>
		/// 添加教师
		/// </summary>
		AddTeacher,
		/// <summary>
		/// 修改教师
		/// </summary>
		ModifyTeacher,
		/// <summary>
		/// 删除教师
		/// </summary>
		DelTeacher,

		/// <summary>
		/// 修改管理员密码
		/// </summary>
		ModifyAdminPWD,

		/// <summary>
		/// 添加学生
		/// </summary>
		AddStudent,
		/// <summary>
		/// 删除学生
		/// </summary>
		DelStudent,
		/// <summary>
		/// 修改学生
		/// </summary>
		ModifyStudent,

		/// <summary>
		/// 复制任务
		/// </summary>
		AddTask,
		/// <summary>
		/// 删除复制的任务
		/// </summary>
		DelTask,


		/// <summary>
		/// 服务器通信关闭
		/// </summary>
		SocketClose,


		/// <summary>
		/// 修改专业名称
		/// </summary>
		ModifyMajor,

		/// <summary>
		/// 设置实训时间  
		/// 传输数据格式：Int2
		/// int0:任务ID
		/// int1:设置的时间
		/// </summary>
		SetTrainTime,
		/// <summary>
		/// 实训统一数据设置 
		/// 数据格式：Int3
		/// int0:操作错误扣除时间（百分比%）
		/// int1:操作不及时扣除时间
		/// int2:答题错误扣除时间
		/// </summary>
		SetTrainSetting,

		/// <summary>
		/// 服务器接收： TrainGroupModel
		/// 服务器反馈：TrainGroupModel
		/// </summary>
		AddTrainGroup,

		/// <summary>
		/// 删除实训组
		///数据格式:List Int 
		/// int:projectID
		/// </summary>
		DelTrainGroup,
		/// <summary>
		/// 修改实训组名称 
		///数据格式:IntString
		/// int:projectID
		/// string:name
		/// </summary>
		ModifyTrainGroup,

		/// <summary>
		/// 将项目中的任务添加到实训组中
		///数据格式:List Int 
		/// int:taskID
		/// </summary>
		AddTaskToTrainGroup,
		/// <summary>
		/// 移除实训组中的任务
		///数据格式:List Int
		/// int:taskID
		/// </summary>
		DelTaskInTrainGroup,


		/// <summary>
		/// 添加理论题试卷
		/// </summary>
		AddTheoryPaper,

		/// <summary>
		/// 添加试卷
		/// 数据格式:Int2String
		/// int1:proijectID
		/// int2:time
		/// string:name
		/// </summary>
		AddPaper,

		/// <summary>
		/// 删除试卷
		/// 数据格式:List Int
		/// int:projectID
		/// </summary>
		DelPaper,
		/// <summary>
		/// 修改试卷名称
		/// 数据格式:IntString
		/// int:projectID
		/// string:name
		/// </summary>
		ModifyPaperName,
        /// <summary>
        /// 修改理论试卷名
        /// </summary>
		ModifyTheoryPaperName,
        /// <summary>
        /// 修改考试时间
        /// 数据格式:Int2
        /// int0:projectID
        /// int1:time
        /// </summary>
        ModifyPaperTime,

        /// <summary>
        /// 修改理论试卷时间
        /// </summary>
        ModifyTheoryPaperTime,
        /// <summary>
        /// 设置考试卷
        /// 数据格式:Int2
        /// int0:teacherID
        /// int1:projectID
        /// </summary>
        SetExam,
		/// <summary>
		/// 取消考试卷
		/// 数据格式:Int2
		/// int0:teacherID
		/// int1:projectID
		/// </summary>
		RescindExam,
		/// <summary>
		/// 移除试卷中的任务 List projectID
		/// </summary>
		DelTaskInPaper,
		/// <summary>
		/// 试卷中添加任务 List projectID
		/// </summary>
		AddTaskToPaper,
		/// <summary>
		/// 通信连接
		/// </summary>
		ServerConnect,

		/// <summary>
		/// 设置管理学生的教师
		/// 数据：List 学生ID +int:教师ID
		/// </summary>
		SetStudentManageIn,

		/// <summary>
		/// 移除管理学生的教师
		/// 数据：List 学生ID--
		/// </summary>
		SetStudentManageOut,
		/// <summary>
		/// 修改任务分值
		/// 数据：Int2
		/// int0:taskID
		/// int1:score
		/// </summary>
		ModifyTaskScore,
		/// <summary>
		/// 修改考试考察岗位
		/// 数据：Int2
		/// int0:taskID
		/// int1:postID
		/// </summary>
		ModifyExamPost,
		/// <summary>
		/// 重置任务分值为默认值 List Int
		/// int:taskID
		/// </summary>
		ResetTaskScore,

		#endregion

		/// <summary>
		/// 模式
		/// </summary>
		Pattern,

		/// <summary>
		/// 游戏 关于任务 房间等处理
		/// </summary>
		Game,


        /// <summary>
        /// 房间类协议
        /// </summary>
        Room,

		/// <summary>
		/// 角色数据
		/// </summary>
		Role,

		/// <summary>
		/// 任务操作
		/// </summary>
		TaskOperate,

		/// <summary>
		/// 教师的相关操作
		/// </summary>
		TeacherUser,

		/// <summary>
		/// 学员相关操作
		/// </summary>
		StudentUser,

		/// <summary>
		/// 请求学生表数据
		/// </summary>
		StudentTable,

		#region 游戏  Game
		
		/// <summary>
		/// 开始单人任务请求
		/// </summary>
		StartSingelTask,
		#endregion


		#region 考试 Exam


		/// <summary>
		/// 请求考试试卷
		/// </summary>
		ExamPaper,
		/// <summary>
		/// 开始考试
		/// </summary>
		ExamStart,
		/// <summary>
		/// 考试提交
		/// </summary>
		ExamSubmit,
		/// <summary>
		/// 获取登录学生有考试记录
		/// </summary>
		GetStudentExamData,
		#endregion

		#region 实训 Train
		/// <summary>
		/// 请求一个实训组
		/// </summary>
		TrainGroup,
		/// <summary>
		/// 开始实训
		/// </summary>
		TrainStart,
		/// <summary>
		/// 实训提交
		/// </summary>
		TrainSubmit,

		/// <summary>
		/// 获取实训任务积分数据（只获取一个任务的数据），根据积分从大到小排序
		/// </summary>
		GetTrainTaskRanking,

		/// <summary>
		/// 获取所有任务的实训数据
		/// </summary>
		GetTrainData,
		/// <summary>
		/// 获取某一学生的实训数据
		/// </summary>
		GetStudentTrainData,

		#endregion

		#region 模式
		/// <summary>
		/// 获取模式
		/// </summary>
		PatternGet,
		/// <summary>
		/// 教师设置模式 
		/// 数据格式:Int3String
		/// n1 TeacherId;
		/// n2 TrainingId;
		/// n3 ExamId;
		/// String Pattern
		/// </summary>
		PatternSet,
		#endregion

		#region Teacher 教员的详细功能定义
		/// <summary>
		/// 学员上线
		/// </summary>
		StudentOnline,

		#endregion

		//开始学习 数据 学习任务ID
		StartLearn,

		/// <summary>
		/// 设置培训环境
		/// </summary>
		SetTrainingEnvironment,
		/// <summary>
		/// 请求选择题数据
		/// </summary>
		ChoiceTable,

		/// <summary>
		/// 添加选择题
		/// </summary>
		AddChoice,

		/// <summary>
		/// 修改选择题
		/// </summary>
		ModifyChoice,
		/// <summary>
		/// 删除选择题
		/// </summary>
		DeleteChoice,
		/// <summary>
		/// 添加选择题到试卷
		/// </summary>
		AddSubjectToTheoryPaper,
		/// <summary>
		/// 删除试卷中题目
		/// </summary>
		DelSubjectInTheoryPaper,

		/// <summary>
		/// 请求判断题列表
		/// </summary>
		TrueOrFalse,

		/// <summary>
		/// 添加判断题
		/// </summary>
		AddTrueOrFalse,

		/// <summary>
		/// 修改判断题
		/// </summary>
		ModifyTrueOrFalse,

		/// <summary>
		/// 删除判断题
		/// </summary>
		DeleteTrueOrFalse,
		/// <summary>
		/// 获取理论题考试卷
		/// </summary>
		GetExamTheoryPaper,
		/// <summary>
		/// 获取操作题考试卷
		/// </summary>
		GetExamPaper,

		GetPaperListByAdmin,

		GetPaperListByTeacher,

		GetTheoryPaperListByAdmin,

		GetTheoryPaperListByTeacher,

		/// <summary>
		/// 理论交卷
		/// </summary>
		HandInTheoryExam,

		/// <summary>
		/// 操作题交卷
		/// </summary>
		HandInExam,

		/// <summary>
		/// 删除理论题试卷
		/// </summary>
		DelTheoryPaper,

		/// <summary>
		/// 管理考试学员
		/// </summary>
		MangerExamStdudent,

		/// <summary>
		///修改理论试卷中试题分值
		/// </summary>
		ModifySubjectScoreInTheoryPaper,
		/// <summary>
		/// 获取考试成绩
		/// </summary>
		GetExamGrade,


        /// <summary>
        /// 启动项目，平台发送
        /// </summary>
        StartProject,

        Exchange,

        /// <summary>
        ///学员身份 转发数据 该协议服务器不会进行任何逻辑处理，只做转发功能 
        /// </summary>
        Transmit,
    }

}

